Skip to content

Keep an installed runtime whose archive is unchanged across releases - #81

Merged
btsouth merged 1 commit into
masterfrom
runtime-by-hash
Sep 5, 2026
Merged

Keep an installed runtime whose archive is unchanged across releases#81
btsouth merged 1 commit into
masterfrom
runtime-by-hash

Conversation

@btsouth

@btsouth btsouth commented Sep 5, 2026

Copy link
Copy Markdown
Collaborator

Every release re-downloaded and unpacked the runtime archive because the receipt was compared by release URL first. The archive has been the same bytes since v0.0.9.

When the new release's authenticated SHA256SUMS names the same archive digest the installed receipt carries and the executable is intact, the launcher rewrites the receipt with the new release identity and keeps the runtime. A different digest still goes through the normal update with rollback. Tested in the VM by serving the same assets under a new URL: the log shows "runtime archive unchanged ... kept the installed runtime", the asset log shows no archive request, and the receipt carries the new release afterwards.

The runtime receipt was compared by release URL, so every release re-downloaded and unpacked the 84 MB runtime archive even when it was byte-identical. When the authenticated archive digest of the new release matches the installed receipt and the executable is intact, the launcher now adopts the new release identity and keeps the runtime.
@btsouth
btsouth merged commit 93c12b2 into master Sep 5, 2026
3 checks passed
@btsouth
btsouth deleted the runtime-by-hash branch September 5, 2026 21:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant